home *** CD-ROM | disk | FTP | other *** search
- /* ALLog.M */
-
- OPT MODULE
- OPT EXPORT
-
- /* Log a message */
- MODULE 'dos/dos'
-
- /* The LOG_xxx2 here are for continuation of previous messages */
- ENUM LOG_INFO, LOG_INFO2, LOG_WARNING, LOG_WARNING2, LOG_ERROR, LOG_ERROR2, LOG_FATAL, LOG_FATAL2, LOG_LAST
-
- /* This is set in main() */
- DEF log_dir
-
- /*
- * Proc which logs all messages
- */
- PROC log_message (str:PTR TO CHAR, log)
- DEF fd, tmp, tmp2
-
- tmp2 := CurrentDir (log_dir)
-
- fd := Open ('T:AList.log', MODE_READWRITE)
- IF (fd) /* Assume this works, at least */
- Seek (fd, 0, OFFSET_END)
- SELECT LOG_LAST OF log
- CASE LOG_INFO
- Fwrite (fd, 'INFO: ', 1, 9)
- CASE LOG_INFO2
- CASE LOG_WARNING
- Fwrite (fd, 'WARNING: ', 1, 9)
- CASE LOG_WARNING2
- CASE LOG_ERROR
- Fwrite (fd, 'ERROR: ', 1, 9)
- CASE LOG_ERROR2
- CASE LOG_FATAL
- Fwrite (fd, 'FATAL: ', 1, 9)
- CASE LOG_FATAL2
- DEFAULT
- Fwrite (fd, 'UNKNOWN: ', 1, 9)
- ENDSELECT
-
- Fwrite (fd, str, 1, StrLen (str))
- Close (fd)
- ENDIF
-
- CurrentDir (tmp2)
- ENDPROC
-
-
-